#include "key_nodelay.h"

//GPIO的初始化
void Key_Init(void)
{
	__HAL_RCC_GPIOB_CLK_ENABLE();
	
	GPIO_InitTypeDef GPIO_InitStruct = {0}; 

	GPIO_InitStruct.Pin = GPIO_PIN_1;
	GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
	GPIO_InitStruct.Pull = GPIO_PULLUP;
	HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
	
	
	
}

uint8_t KeyScan(Key_Handler* hkey)
{
	uint8_t KeyNum = 0;
	
	if(HAL_GPIO_ReadPin(GPIOB, hkey->GPIO_PIN) == GPIO_PIN_RESET)
	{
		hkey->flag = 0;
		hkey->Key_cnt = 0;
	}
	else if(!hkey->flag)
	{
		hkey->Key_cnt++;
		
		if(hkey->Key_cnt > KEY_MAX_DELAY)
		{
			hkey->Key_cnt = 0;
			hkey->flag = 1;
			KeyNum = 1;
		}
	}
	return KeyNum;
}


